module.exports = ({ types }) => {
  return {
    /*
    * visitor下的属性名，就是ast树test的值
    * test的值也就是path.node
    * */
    visitor: {
      // 每进入一个节点都会调用
      Identifier(path) {
        const parentIsIf = types.isIfStatement(path.parentPath);
        if (parentIsIf && path.node.name === 'DEBUG') {
          // console.log('ok', parentIsIf);
          // 创建String节点
          const strNode = types.stringLiteral('DEBUG');
          path.replaceWith(strNode);
        }
      },
      StringLiteral(path, state) {
        const parentIsIf = types.isIfStatement(path.parentPath);
        const isDebug = path.node.value === 'DEBUG';
        console.log('state >>>', state);
        if (parentIsIf && isDebug && state.opts.remove) {
          path.parentPath.remove();
        }
      }
    }
  }
}
